package main

import (
	"fmt"
	"os"
)

func main() {
	/*
		// 1.删除文件
		err := os.Remove("../01.txt")
		if err != nil {
			panic(err)
		}
		fmt.Println("删除成功")

		// 1.创建目录
		// err := os.Mkdir("../dir01", 0755)  // 创建一层
		err := os.MkdirAll("../dir02/a/b", 0755) // 创建多层
		if err != nil {
			panic(err)
		}
		fmt.Println("目录创建成功")

		// 2.读取目录
		files, err := os.ReadDir("I:/CL/go_code")
		if err != nil {
			panic(err)
		}
		// fmt.Println(files)
		// 返回是切片类型
		// 遍历切片
		for _, f := range files {
			fmt.Println(f.Name()) // 获取每个目录下的文件名称
		}

		// 3.删除目录
		// 只能删除空目录
		// err := os.Remove("../dir02")
		err := os.RemoveAll("../dir02")
		if err != nil {
			panic(err)
		}
		fmt.Println("删除成功")
	*/
	// 4.判断文件是否存在
	// 获取文件信息
	fileinfo, err := os.Stat("../02.jpg")
	if err != nil {
		// panic(err)
		fmt.Println("文件不存在")
	} else {
		fmt.Println("文件存在")
		// fmt.Println(fileinfo)
		// 是否为目录
		fmt.Println("是否为目录：", fileinfo.IsDir())
		// 获取大小
		// fmt.Println(fileinfo.Size()) // 单位是字节
	}

	// 是否存在错误判断是否存在文件
	// 存在错误
	// fmt.Println(os.IsExist(err))
	// 是否存在
	// fmt.Println(os.IsNotExist(err))

}
